Most memory systems are general purpose such as those used in personal computers, workstations, and other processing systems. These memory systems typically provide a small number of memory access ports that allow reading and writing data within a single addressable memory array. Parallelism and memory bandwidth are increased by pipelining a stream of requests and adding more access ports. These memory systems are flexible and suitable for a broad range of applications, but cannot provide efficient performance for specialized applications that require high memory bandwidth at low cost.
Memory systems are also customized within ASICS (application-specific integrated circuits) for applications such as digital signal processing. Here, by taking advantage of known application-specific memory needs, memory systems are structured to provide higher performance at lower cost than general-purpose memory systems. To increase performance and reduce costs, special purpose memory systems often define a number of smaller memories that can be referenced in parallel. However, these memory systems are customized to an application, and cannot be used for applications with differing memory needs.
Reconfigurable logic allows designers to implement various logic circuits within a previously fabricated hardware chip by programming switching and logic elements in the chip to reproduce a given hardware design. This hardware design activity is performed by configuring logic within an existing chip, which offers the promise that efficient special purpose processing systems can be designed using reconfiguration without chip design. However, memories in this approach are fixed and components are non-configurable even within a reconfigurable chip. Thus, designers cannot easily construct high performance memory systems having multiple memories of differing size using reconfigurable chip technology alone.
Based on the foregoing, it is desirable that mechanisms be provided to overcome deficiencies of existing approaches and to solve related problems.